The present invention relates to a valve timing controller for an internal combustion engine, which varies an operation timing of a valve by controlling the pressure of an operating fluid.
Japanese Laid-Open Patent Publication No. 2001-317382 discloses a conventional hydraulic drive variable valve timing mechanism. The variable valve timing mechanism is arranged between a crankshaft and a camshaft of an internal combustion engine. The variable valve timing mechanism controls the pressure of its internal pressure chamber to adjust the rotational phase of the valve camshaft with respect to the crank angle. In this way, the variable valve timing mechanism varies the operation timing of valves (valve timing).
To achieve accuracy and responsiveness in valve timing control, it is important to always use a correct holding control value for holding a target valve timing.
In reality, however, the torque applied to the valve camshaft fluctuates according to the operational status of the internal combustion engine. A spring force exerted by a spring mechanism, which is arranged in the variable valve timing mechanism, fluctuates according to the valve timing. Further, the hydraulic pressure for driving the variable valve timing mechanism fluctuates. These fluctuations change the holding control value.
To obtain an appropriate holding control value, correction values corresponding to these individual fluctuation factors are conventionally calculated based on the valve timing, the engine speed, and detection values of the water temperature and the hydraulic pressure. The correction values are then added to a learned value of the holding control value (to a holding duty ratio for the above conventional technique), to yield an appropriate holding control value. The holding control value calculated in this way is used to control the variable valve timing mechanism.
The learned value is calculated by detecting an actual holding control value, which is obtained while the valve timing is stabilized, and subtracting a correction value from the stabilized state holding control value. The learned value as calculated is stored in this way.
To calculate the correction values corresponding to the individual fluctuation factors, maps individually created for these fluctuation factors are usually used. A valve timing controller is required to have a large memory capacity for storing a large amount of data corresponding to a large number of fluctuation factors.
Further, the above-described fluctuation factors of the holding control value may not be individually reflected in the holding control value, but rather may influence one another. Specific valve timing control or some types of internal combustion engines may have to consider such mutual influences of the fluctuation factors. In particular, a certain temperature of an operating fluid, such as operating oil, may cause other fluctuation factors to influence one another differently. Thus, the conventional method of calculating the correction values respectively from the individual fluctuation factors using their maps and simply adding the correction values to the learned value may fail to yield a highly accurate holding control value. A less accurate holding control value may cause problems in the valve timing control.
To solve such problems associated with mutual influences of the fluctuation factors, a multidimensional map, which has all the fluctuation factors as parameters, may be used. With the multidimensional map, correction values considering such mutual influences are calculated. However, this case requires a further complex map to be created. Creating a complex map requires enormous efforts. Further, such a map needs to be created for each type of variable valve timing mechanisms and each type of engine, and further for each different variable valve timing mechanism and each different engine design. This further increases the work required for creating a map. Moreover, with an enormous amount of data for such a map, a valve timing controller installed in an actual engine control system is required to have a large memory capacity. Also, the valve timing controller involves a large amount of computations in its valve timing control. This inevitably increases the size of the valve timing controller.